#pragma once
#ifndef PROTIENFRAME_H
#define PROTIENFRAME_H
#include "stdafx.h"
#include <stdlib.h>
#include <set>

const int FRAME_LENGTH_UNIT = 300; // every 100 amino accid get one point
const int MIN_FRAME_LENGTH = 297;

// mRNA has been spliced
pair<int, int> checkFrame(int start, const char* mRNA);
pair<int, int> getTheLongestORF(const char* mRNA);
// give a score of the frame on the mRNA, according to the Aceview setting
int evaluateFrame(pair<int, int> frame, vector< pair<int, int> >& exons);
int getIntronPosInMRNA(vector<pair <int, int> >& exons, vector <int>& exonPosInMRNA);
// Given a mRNA, include all its possible coding seqeuences in the CDSs
int getCDS(const char* mRNA, set<string>& CDSs);
bool testGetTheLongestORF(void);

#endif